package com.deyuanyun.pic.pipe.mapper;

import java.math.BigDecimal;
import java.util.HashMap;
import java.util.LinkedHashMap;
import java.util.List;
import java.util.Map;

import org.apache.ibatis.annotations.Param;

import com.deyuanyun.pic.pipe.domain.Elbow;
import com.github.pagehelper.Page;

public interface ElbowMapper {
    int deleteByPrimaryKey(String id);

    int insert(Elbow record);

    int insertSelective(Elbow record);

    Elbow selectByPrimaryKey(String id);

    int updateByPrimaryKeySelective(Elbow record);

    int updateByPrimaryKey(Elbow record);
    
    /**
     * 
    	 * 
    	 *@创建者:严祥
    	 *@创建时间：2015年8月25日下午4:05:46
    	 *@方法说明:根据参数查询弯头基本信息(包含冷热弯头)
    	 *@参数:@param pipeLineId 管线ID
    	 *@参数:@param pipeSegmentId 管段ID 
    	 *@参数:@param startMileage 起始里程
    	 *@参数:@param endMileage 终止里程
    	 *@参数:@return
    	 *@return:Page<HashMap<String,Object>>
    	 *
     */
    Page<HashMap<String, Object>> selectElbowBaseByParam(@Param("pipeLineId") String pipeLineId, @Param("pipeSegmentId") String pipeSegmentId,
  			@Param("startMileage") BigDecimal startMileage, @Param("endMileage") BigDecimal endMileage);
    
    /**
     * 
    	 * 
    	 *@创建者:严祥
    	 *@创建时间：2015年8月25日下午8:35:46
    	 *@方法说明:导出热弯头模板数据
    	 *@参数:@param pipeLineId 管线IDf
    	 *@参数:@param pipeSegmentId 管段ID
    	 *@参数:@param startMileage 起始里程
    	 *@参数:@param endMileage  终止里程
    	 *@参数:@return
    	 *@return:Page<HashMap<String,Object>>
    	 *
     */
    List<LinkedHashMap<String, Object>> downloadElbow(@Param("pipeLineId") String pipeLineId, @Param("pipeSegmentId") String pipeSegmentId,
  			@Param("startMileage") BigDecimal startMileage, @Param("endMileage") BigDecimal endMileage);

    /**
     * 
    	 * 
    	 *@创建者:严祥
    	 *@创建时间：2015年9月7日上午9:56:51
    	 *@方法说明: 根据热煨弯头主键ID查询热煨弯头详情信息
    	 *@参数:@param elbowId:主键ID
    	 *@参数:@return
    	 *@return:HashMap<String,Object>
    	 *
     */
    HashMap<String, Object> getElbowDetailed(@Param("elbowId") String elbowId);

    int insertData(Map data);
	int insertPositData(Map data);
	
	Page<HashMap<String,Object>> findPage(HashMap param );
	
	int delGis(Map map);
	int delData(Map map);
	List<LinkedHashMap<String, Object>> exportExcel(Map map);
	
	String findMaxCode(@Param("code") String code);
}